package com.ea.admin.service;

import com.ea.common.report.pojo.vo.NormVo;
import com.ea.common.report.pojo.vo.PointVo;
import com.ea.common.report.pojo.vo.ReportPropertiesVo;
import java.util.List;

/**
 * 图表生成服务接口
 * 提供各种心理报告相关图表的生成方法
 * @author luxl
 * date:2025-06-20
 */
public interface ChartGenerationService {
    
    /**
     * 生成个人情绪分布环状饼图
     * @param items 报告数据项列表
     * @return Base64编码的图片字符串
     */
    String generateEmotionDistributionChart(List<ReportPropertiesVo> items);
    
    /**
     * 生成个人性格倾向环状图
     * @param extraversion 外向性数值
     * @param stability 稳定性数值
     * @return Base64编码的图片字符串
     */
    String generatePersonalityChart(int extraversion, int stability);
    
    /**
     * 生成心理频谱图
     * @param mentalSpectrum 频谱数据
     * @return Base64编码的图片字符串
     */
    String generateSpectrumChart(List<PointVo> mentalSpectrum);
    
    /**
     * 生成心理变化基础代谢图
     * @param mentalRateData 代谢数据
     * @return Base64编码的图片字符串
     */
    String generateMetabolismChart(List<PointVo> mentalRateData);
    
    /**
     * 生成个人心理常模对比雷达图
     * @return Base64编码的图片字符串
     */
    String generateRadarChart(List<NormVo> Norm,boolean isPersonalNorm) ;

}